5577

28 分钟

#C 语言标准库头文件 wctype.h

这个头文件提供 字符类型检测 的相关功能,例如判断一个字符是否是字母、数字或标点符号等,并可以对字母进行大小写转换。

#类型

类型标准说明
wint_tC95可以保存任何有效宽字符和至少一个其他值的整数类型
wctrans_tC95保存特定于语言环境的字符映射的标量类型
wctype_tC95保存特定于语言环境的字符分类的标量类型

#

类型标准说明
WEOFC95用于指示错误的 wint_t 类型的非字符值

#函数

函数标准说明
iswalnumC95判断宽字符是否是字母或数字
iswalphaC95判断宽字符是否是字母
iswlowerC95判断宽字符是否是小写字母
iswupperC95判断宽字符是否是大写字母
iswdigitC95判断宽字符是否是数字
iswxdigitC95判断宽字符是否是十六进制数字
iswcntrlC95判断宽字符是否是控制字符
iswgraphC95判断宽字符是否是可显示字符,包含数字、字母、标点符号
iswspaceC95判断宽字符是否是空白(white-space)字符,包含空格、水平制表符、竖直制表符、回车符、换行符、换页符
iswblankC99判断宽字符是否是空白(blank)字符,空格、水平制表符
iswprintC95判断宽字符是否是可打印字符,包含数字、字母、标点符号、空白
iswpunctC95判断宽字符是否是标点符号
towlowerC95将宽字符转换为小写字母
towupperC95将宽字符转换为大写字母
towctransC95根据指定的 LC_CTYPE 映射类别执行字符映射
wctransC95在当前 C 语言环境中查找字符映射类别

#推荐阅读

#示例

#include <stdio.h> #include <locale.h> // 设置语言环境 #include <wchar.h> // 宽字符输入、输出 #include <wctype.h> int main(void) { // 设置语言环境 if (setlocale(LC_ALL, "zh_CN.UTF-8") == NULL) { fwprintf(stderr, L"语言环境设置失败\n"); return 1; } wchar_t ch; wprintf(L"请输入一个字符: "); wscanf(L"%lc", &ch); // 检查字符类型 wprintf(L"\n字符 '%lc' 的类型判断:\n", ch); wprintf(L"iswalnum(): %s\n", iswalnum(ch) ? "是" : "否"); // 字母或数字 wprintf(L"iswalpha(): %s\n", iswalpha(ch) ? "是" : "否"); // 字母 wprintf(L"iswdigit(): %s\n", iswdigit(ch) ? "是" : "否"); // 数字 wprintf(L"iswlower(): %s\n", iswlower(ch) ? "是" : "否"); // 小写字母 wprintf(L"iswupper(): %s\n", iswupper(ch) ? "是" : "否"); // 大写字母 wprintf(L"iswspace(): %s\n", iswspace(ch) ? "是" : "否"); // 空白字符 wprintf(L"iswpunct(): %s\n", iswpunct(ch) ? "是" : "否"); // 标点符号 wprintf(L"iswprint(): %s\n", iswprint(ch) ? "是" : "否"); // 可打印字符 wprintf(L"iswgraph(): %s\n", iswgraph(ch) ? "是" : "否"); // 可显示字符(非空格) wprintf(L"iswcntrl(): %s\n", iswcntrl(ch) ? "是" : "否"); // 控制字符 // 字符转换 wprintf(L"\n字符 '%lc' 的转换结果:\n", ch); wprintf(L"towlower(): %lc\n", towlower(ch)); // 转换为小写 wprintf(L"towupper(): %lc\n", towupper(ch)); // 转换为大写 return 0; }

运行结果:

请输入一个字符: 我

字符 '我' 的类型判断:
iswalnum(): 是
iswalpha(): 是
iswdigit(): 否
iswlower(): 否
iswupper(): 否
iswspace(): 否
iswpunct(): 否
iswprint(): 是
iswgraph(): 是
iswcntrl(): 否

字符 '我' 的转换结果:
towlower(): 我
towupper(): 我

请输入一个字符: a 字符 'a' 的类型判断: iswalnum(): 是 iswalpha(): 是 iswdigit(): 否 iswlower(): 是 iswupper(): 否 iswspace(): 否 iswpunct(): 否 iswprint(): 是 iswgraph(): 是 iswcntrl(): 否 字符 'a' 的转换结果: towlower(): a towupper(): A
请输入一个字符: 8 字符 '8' 的类型判断: iswalnum(): 是 iswalpha(): 否 iswdigit(): 是 iswlower(): 否 iswupper(): 否 iswspace(): 否 iswpunct(): 否 iswprint(): 是 iswgraph(): 是 iswcntrl(): 否 字符 '8' 的转换结果: towlower(): 8 towupper(): 8

创建于 2025/7/29

更新于 2025/7/29